package top.hudk.rpc.rpc1;

/**
 * 作用：RPC测试客户端Client
 *
 * @author hudk
 * @date 2020/12/9 23:23
 */
public class Client {

    public static void main(String[] args) {
        //获取代理对象
        IUserService userService = (IUserService)Loader.lookup(IUserService.class);
        //执行代理对象的方法，实际上内部是通过网络传输，将方法调用信息发送到了服务端
        //服务端通过类型信息，方法信息，以反射的形式实例化出真实提供服务的对象
        //并在服务端完成调用和返回，最后将返回数据序列化通过网络传输回来，反序列化成具体对象
        //然后在这里就可以拿到返回的对象了
        User user = userService.getUserById(2);
        //打印验证返回的对象内容
        System.out.printf("打印代理对象返回的对象内容:========" + user);
    }
}
